Refactoring UpdateScope, VersionDetails and related classes #702
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The goal of this exercise is to simply VersionDetails and related classes. I've noticed that a lot of logic related to version management is spread across multiple classes. In particular, UpdateScope which is supposed to be a simple enum-like class and a container for the segment, has grown to some utility class with code duplication. Cleaned that up.
The ultimate goal is to replace version management helpers with JSR330 components, also to split VersionComparator classes from their utility part (segment manipulation) -- but that's for another PR. I want to keep the scope small so that it doesn't become another gargantuan PR to review 😆
Please note: until #701 is merged in, there are two commits, then I'll merge and squash.